package com.example.baidu.speech.realtime.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;
import org.apache.commons.lang3.StringUtils;

import java.util.Arrays;

@AllArgsConstructor
@Getter
public enum BaiduSpeechFileSuffixEnum {

    /**
     * pcm（不压缩）
     */
    PCM("pcm"),

    /**
     * pcm（不压缩，pcm编码）
     */
    WAV("wav"),

    /**
     * amr（压缩格式）
     */
    AMR("amr"),

    /**
     * m4a（压缩格式）
     */
    M4A("m4a"),
    ;

    /**
     * 文件后缀名称
     */
    private final String suffixName;

    /**
     * 是否支持当前文件格式
     *
     * @param suffix 文件后缀名
     * @return true or false
     */
    public static boolean isSupported(final String suffix) {
        if (StringUtils.isBlank(suffix)) {
            return false;
        }
        return Arrays.stream(values()).anyMatch(a -> a.suffixName.equalsIgnoreCase(suffix));
    }

    /**
     * 文件后缀名是否为pcm
     *
     * @param suffix 文件后缀名
     * @return true or false
     */
    public static boolean isPcm(String suffix) {
        return PCM.suffixName.equals(suffix);
    }

}
